package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBCDemo8 {
    public static void main(String[] args) {
        UserInfo userInfo = InputUtil.getInputObject(new UserInfo(),"欢迎注册","注册");
        try (
                Connection connection = DBUtil.getConnection();
        ){
            /*
                Statement适合执行静态SQL，不含有拼接用户数据的SQL
                比如DDL语句。
                不含有用户数据的DQL
                SELECT id,name,age... FROM userInfo



                PreparedStatement适合执行含有用户数据的SQL
                INSERT等等需要根据用户数据操作的
                SELECT如果含有用户数据
                SELECT id,name,age... FROM userInfo WHERE username=?

             */
            String sql = "INSERT INTO userinfo(username, password, nickname, age)"+
                         "VALUES(?,?,?,?)";
            PreparedStatement ps = connection.prepareStatement(sql);
            ps.setString(1,userInfo.getUsername());
            ps.setString(2,userInfo.getPassword());
            ps.setString(3,userInfo.getNickname());
            ps.setInt(4,userInfo.getAge());

            int num = ps.executeUpdate();
            if(num>0){
                System.out.println("注册成功");
            }

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
